package io.babystar.modules.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.babystar.common.utils.PageUtils;
import io.babystar.modules.business.entity.*;
import io.babystar.modules.sys.entity.SysUserEntity;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author jeson
 * @email 574197743@qq.com
 * @date 2021-03-23 20:03:33
 */
public interface StudentService extends IService<StudentEntity> {

    PageUtils queryPage(Map<String, Object> params);

    PageUtils queryPageStudent(Map<String, Object> params);

    /**
     * 获取预约信息
     * @return
     */
    PageUtils getAppointmentInfo(Long organizeId, Integer pageNuber, Integer pageSize, Map<String, Object> params);

    PageUtils queryPageStudentToSort(Map<String, Object> params);

    /**
     * 查询获取机构下所有店铺信息
     * @param trainId
     * @return
     */
    List<ShopEntity> getShopInfo(Long trainId, Integer shopId);


    List<Map<String,Object>> getSignStudent(Map<String,String> map);

    List<Map<String,Object>> getStudentByShopId(Map<String,String> map);

    /**
     * 校对家长手机号重复性
     * @param matherphone
     * @return
     */
    Integer queryPhone(Long matherphone, Integer id);

    Integer queryMemberNum(Integer memberNum);

    Map<String,String> saveStudent(StudentEntityAll student, SysUserEntity user);

    void updateStudent(StudentEntityAll student) throws Exception;

    void delete(List<Integer> list);

    PageUtils queryPageStudentSchoolCount(Map<String, Object> params);
    PageUtils queryPageStudentAddressCount(Map<String, Object> params);
    PageUtils queryPageStudenPaymentSum(Map<String, Object> params);
    PageUtils queryPageClassEeliminationRate(Map<String, Object> params);
    PageUtils queryPageStudentPaymentRecords(Map<String, Object> params);

    List<ExcelStudent> importStudentInfo(List<ExcelStudent> successList, List<CourseEntity> courseEntityList, List<BaseMemberCardEntity> memberCardEntityList, String shopId, Integer organizeId);
}

